package cn.fl.ref.fncprjfstpyinfo.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import cmm.web.core.framework.vo.BaseVO;
import cn.fl.ref.fribaseinfo.vo.BankAccInfoVO;
import cn.fl.system.vo.SysBkAccInfoVO;

/**
 * @Description: 首付款相关的融资项目信息
 */
public class FncPrjDetailVO extends BaseVO {

	private static final long serialVersionUID = 1L;

	/**
	 * 融资项目编号
	 */
	private Long fncPrjId;
	
	/**
	 * 融资项目编号
	 */
	private String fncPrjIdStr;

	/**
	 * 项目名称
	 */
	private String fncPrjNm;

	/**
	 * 项目状态代码 01.预立项--预筛选流程中； 03.立项通过--预筛选流程通过 ； 04.付款中--付首期款流程中 ； 05.已付款--付款完成 ； 06.提款中--提款流程中 ； 07.正常--提款完毕，正常还款中； 08.资产替换中--结清，回购资产替换中 ； 09.提前结清中 ；
	 * 10.正常结清中 ； 11.保证金坐扣租金中 ； 12.保证金退回中 ； 13.结束 ； 14.作废；
	 */
	private Integer fncPrjStcd;

	/**
	 * 项目金额
	 */
	private BigDecimal fncPrjAmt;

	/**
	 * 融资金额
	 */
	private BigDecimal fncFiAmt;

	/**
	 * 创建日期
	 */
	private Date crtTm;

	/**
	 * 首付款预付利息
	 */
	private BigDecimal expInt;
	
	/**
	 * 首付款最终付款金额
	 */
	private BigDecimal fstpyAmt;

	/**
	 * 首付款账号
	 */
	private String fstpyAccno;

	/**
	 * 融资机构名称
	 */
	private String fundRasInsNm;

	/**
	 * 融资方案名称
	 */
	private String fncScmNm;
	
	/**
	 * 方案ID
	 */
	private String fncScmId;

	/**
	 * 融资经理（ 用户名称）
	 */
	private String rlNm;
	
	/**
	 * 修改人编号
	 */
	private String updPsnEcdd;
	
	/**
	 * 修改时间
	 */
	private Date updTm;
	
	/**
	 * 融资基数: 1. 设备金额 2. 剩余本金 3. 剩余租金 4. 融资额
	 */
	private Integer fncCrdnlt;
	
	/**
	 * 融资基数: 1. 设备金额 2. 剩余本金 3. 剩余租金 4. 融资额
	 */
	private String fncCrdnltNm;
	
	/**
	 * 打折率
	 */
	private BigDecimal dcnRate;
	
	/**
	 * 融资方案开始时间
	 */
	private Date stdt;

	/**
	 * 融资方案结束时间
	 */
	private Date eddt;
	
	/**
	 * 授信名称
	 */
	private String crNm;
	
	/**
	 * 产品名称
	 */
	private String pdNm;
	
	/**
	 * 授信合同号
	 */
	private String crCtrNo;
	
	/**
	 * 授信余额
	 */
	private BigDecimal crBal;
	
	/**
	 * 保证金比例
	 */
	private BigDecimal mrgnPct;

	/**
	 * 保证金计费基数 1.融资金额 2.项目金额 3.支付表本金 4.支付表利息
	 */
	private Integer mrgnClCrdnlt;
	
	/**
	 * 保证金是否计入首付款
	 */
	private Integer mrgnWthrInPay;
	
	/**
	 * 首付款是否坐扣
	 */
	private Integer wthrFstPay;
	
	/**
	 * 融资机构编号
	 */
	private String fncInsId;
	
	/**
	 * 实际融资金额
	 */
	private BigDecimal acFiAmt;
	
	/**
	 * 首付款付款账号编号
	 */
	private String fstpyPayAccno;
	
	/**
	 * 支付表数量
	 */
	private Integer payCnt;
	
	/**
	 * 首付款实际付款时间
	 */
	private Date fstpyTm;
	
	/**
	 * 首付款是否坐扣
	 */
	private Integer wthrDdctFstPay;
	
	/**
	 * 首付款操作状态
	 */
	private Integer fstpySt;
	/**
	 * 授信Id
	 */
	private Long lgCId;
	

	private List<FncPrjFstpyInfoVO> fncPrjFstpyInfoVOs;
	
	private BankAccInfoVO baccInfoVO;
	
	private SysBkAccInfoVO bkAccInfoVO;
	

	/**
	 * @return the lgCrId
	 */
	public Long getLgCId() {
		return lgCId;
	}

	/**
	 * @param lgCId the lgCId to set
	 */
	public void setLgCId(Long lgCId) {
		this.lgCId = lgCId;
	}

	public Long getFncPrjId() {
		return fncPrjId;
	}

	public void setFncPrjId(Long fncPrjId) {
		this.fncPrjId = fncPrjId;
	}

	public String getFncPrjIdStr() {
		return fncPrjIdStr;
	}

	public void setFncPrjIdStr(String fncPrjIdStr) {
		this.fncPrjIdStr = fncPrjIdStr;
	}

	public String getFncPrjNm() {
		return fncPrjNm;
	}

	public void setFncPrjNm(String fncPrjNm) {
		this.fncPrjNm = fncPrjNm;
	}

	public Integer getFncPrjStcd() {
		return fncPrjStcd;
	}

	public void setFncPrjStcd(Integer fncPrjStcd) {
		this.fncPrjStcd = fncPrjStcd;
	}

	public String getFundRasInsNm() {
		return fundRasInsNm;
	}

	public void setFundRasInsNm(String fundRasInsNm) {
		this.fundRasInsNm = fundRasInsNm;
	}

	public String getFncScmNm() {
		return fncScmNm;
	}

	public void setFncScmNm(String fncScmNm) {
		this.fncScmNm = fncScmNm;
	}

	public String getRlNm() {
		return rlNm;
	}

	public void setRlNm(String rlNm) {
		this.rlNm = rlNm;
	}

	public BigDecimal getFncPrjAmt() {
		return fncPrjAmt;
	}

	public void setFncPrjAmt(BigDecimal fncPrjAmt) {
		this.fncPrjAmt = fncPrjAmt;
	}

	public BigDecimal getFncFiAmt() {
		return fncFiAmt;
	}

	public void setFncFiAmt(BigDecimal fncFiAmt) {
		this.fncFiAmt = fncFiAmt;
	}

	public Date getCrtTm() {
		return crtTm;
	}

	public void setCrtTm(Date crtTm) {
		this.crtTm = crtTm;
	}

	public BigDecimal getExpInt() {
		return expInt;
	}

	public void setExpInt(BigDecimal expInt) {
		this.expInt = expInt;
	}

	public String getFstpyAccno() {
		return fstpyAccno;
	}

	public void setFstpyAccno(String fstpyAccno) {
		this.fstpyAccno = fstpyAccno;
	}

	public List<FncPrjFstpyInfoVO> getFncPrjFstpyInfoVOs() {
		return fncPrjFstpyInfoVOs;
	}

	public void setFncPrjFstpyInfoVOs(List<FncPrjFstpyInfoVO> fncPrjFstpyInfoVOs) {
		this.fncPrjFstpyInfoVOs = fncPrjFstpyInfoVOs;
	}

	public String getUpdPsnEcdd() {
		return updPsnEcdd;
	}

	public void setUpdPsnEcdd(String updPsnEcdd) {
		this.updPsnEcdd = updPsnEcdd;
	}

	public Date getUpdTm() {
		return updTm;
	}

	public void setUpdTm(Date updTm) {
		this.updTm = updTm;
	}

	public Integer getFncCrdnlt() {
		return fncCrdnlt;
	}

	public void setFncCrdnlt(Integer fncCrdnlt) {
		this.fncCrdnlt = fncCrdnlt;
	}

	public BigDecimal getDcnRate() {
		return dcnRate;
	}

	public void setDcnRate(BigDecimal dcnRate) {
		this.dcnRate = dcnRate;
	}

	public Date getStdt() {
		return stdt;
	}

	public void setStdt(Date stdt) {
		this.stdt = stdt;
	}

	public Date getEddt() {
		return eddt;
	}

	public void setEddt(Date eddt) {
		this.eddt = eddt;
	}

	public String getCrNm() {
		return crNm;
	}

	public void setCrNm(String crNm) {
		this.crNm = crNm;
	}

	public String getPdNm() {
		return pdNm;
	}

	public void setPdNm(String pdNm) {
		this.pdNm = pdNm;
	}

	public String getCrCtrNo() {
		return crCtrNo;
	}

	public void setCrCtrNo(String crCtrNo) {
		this.crCtrNo = crCtrNo;
	}

	public BigDecimal getCrBal() {
		return crBal;
	}

	public void setCrBal(BigDecimal crBal) {
		this.crBal = crBal;
	}

	public BigDecimal getFstpyAmt() {
		return fstpyAmt;
	}

	public void setFstpyAmt(BigDecimal fstpyAmt) {
		this.fstpyAmt = fstpyAmt;
	}

	public String getFncCrdnltNm() {
		return fncCrdnltNm;
	}

	public void setFncCrdnltNm(String fncCrdnltNm) {
		this.fncCrdnltNm = fncCrdnltNm;
	}

	public BigDecimal getMrgnPct() {
		return mrgnPct;
	}

	public void setMrgnPct(BigDecimal mrgnPct) {
		this.mrgnPct = mrgnPct;
	}

	public Integer getMrgnClCrdnlt() {
		return mrgnClCrdnlt;
	}

	public void setMrgnClCrdnlt(Integer mrgnClCrdnlt) {
		this.mrgnClCrdnlt = mrgnClCrdnlt;
	}

	public Integer getMrgnWthrInPay() {
		return mrgnWthrInPay;
	}

	public void setMrgnWthrInPay(Integer mrgnWthrInPay) {
		this.mrgnWthrInPay = mrgnWthrInPay;
	}

	public Integer getWthrFstPay() {
		return wthrFstPay;
	}

	public void setWthrFstPay(Integer wthrFstPay) {
		this.wthrFstPay = wthrFstPay;
	}

	public String getFncInsId() {
		return fncInsId;
	}

	public void setFncInsId(String fncInsId) {
		this.fncInsId = fncInsId;
	}

	public BigDecimal getAcFiAmt() {
		return acFiAmt;
	}

	public void setAcFiAmt(BigDecimal acFiAmt) {
		this.acFiAmt = acFiAmt;
	}

	public String getFstpyPayAccno() {
		return fstpyPayAccno;
	}

	public void setFstpyPayAccno(String fstpyPayAccno) {
		this.fstpyPayAccno = fstpyPayAccno;
	}

	public BankAccInfoVO getBaccInfoVO() {
		return baccInfoVO;
	}

	public void setBaccInfoVO(BankAccInfoVO baccInfoVO) {
		this.baccInfoVO = baccInfoVO;
	}

	public Integer getPayCnt() {
		return payCnt;
	}

	public void setPayCnt(Integer payCnt) {
		this.payCnt = payCnt;
	}

	public Date getFstpyTm() {
		return fstpyTm;
	}

	public void setFstpyTm(Date fstpyTm) {
		this.fstpyTm = fstpyTm;
	}

	public SysBkAccInfoVO getBkAccInfoVO() {
		return bkAccInfoVO;
	}

	public void setBkAccInfoVO(SysBkAccInfoVO bkAccInfoVO) {
		this.bkAccInfoVO = bkAccInfoVO;
	}

	public Integer getWthrDdctFstPay() {
		return wthrDdctFstPay;
	}

	public void setWthrDdctFstPay(Integer wthrDdctFstPay) {
		this.wthrDdctFstPay = wthrDdctFstPay;
	}

	public Integer getFstpySt() {
		return fstpySt;
	}

	public void setFstpySt(Integer fstpySt) {
		this.fstpySt = fstpySt;
	}

	public String getFncScmId() {
		return fncScmId;
	}

	public void setFncScmId(String fncScmId) {
		this.fncScmId = fncScmId;
	}

}
